package com.cykj.pos.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cykj.pos.domain.BizMerchBill;
import com.cykj.pos.domain.BizShareDetail;
import com.cykj.pos.domain.dto.BillQueryDTO;
import com.cykj.pos.domain.dto.MsgMerchBillDTO;
import com.cykj.pos.profit.dto.BizCashoutRecordsDTO;
import com.cykj.pos.profit.dto.MessageDTO;
import com.cykj.pos.profit.dto.ShareDetailDTO;

import java.math.BigDecimal;
import java.util.List;

/**
 * 账单信息Service接口
 *
 * @author weijianbo
 * @date 2021-02-06
 */
public interface IBizMerchBillService extends IService<BizMerchBill> {

    /**
     * 查询列表
     */
    List<BizMerchBill> queryList(BizMerchBill bizMerchBill);

    /*提现金额*/
    List<BizMerchBill> WithdrawalList(BizMerchBill bizMerchBill);

    /**
     * 按照条件查询账单列表
     * @param billQueryDTO
     * @return
     */
    List<BillQueryDTO> getPageBillListByMerchId(BillQueryDTO billQueryDTO);

    /**
     * 按照时间查询奖励总额
     * @param shareDetailDTO
     * @return
     */
    BigDecimal queryAwardAmount(ShareDetailDTO shareDetailDTO);

    /**
     * 按照bill_id来查询
     * @param bizMerchBill
     * @return
     */
    BizMerchBill queryBillTypeOne(BizMerchBill bizMerchBill);

    /**
     * 按照bill_id 查询 提现的
     * @param bizMerchBill
     * @return
     */
    BizCashoutRecordsDTO queryBillTypeFour(BizMerchBill bizMerchBill);

    /**
     * 按照bill_id 查询 结算的
     * @param bizMerchBill
     * @return
     */
    BizShareDetail queryBillTypeTwo(BizMerchBill bizMerchBill);

    /**
     * 根据消息id查询账单信息
     * @param messageDTO
     * @return
     */
    MsgMerchBillDTO getMerchBillByMsgId(MessageDTO messageDTO);

    /**
     * 插入账单
     * @param merchBill
     */
    void insertMerchBill(BizMerchBill merchBill);
}
